#ifndef EVENTS_H
#define EVENTS_H

class CEvent
{
    
    public:
        
        //Override this to define what happens locally
        virtual void activate() = 0;
        
        
        
    private:
        
        
    
};

class CNetEvent : public CEvent
{
    
    public:
        
        virtual void activate()
        {
            
            
            
        }
        
    protected:
        
        //Overload these to read and write the event's data from a bitstream
        //TODO: Consider renaming to readFromBitStream and writeToBitStream
        virtual void loadFromBitStream(RakNet::BitStream bsData) = 0;        
        virtual RakNet::BitStream generateBitStream() = 0;
        
    private:
        
        
    
};

class CCreateNetworkObjectEvent : public NetEvent
{
    
    public:
        
        
    
};

#endif //EVENTS_H
